package com.insight.common.constant;

/**
 * @author: huangxutao
 * @date: 2019-06-14
 * @description: 缓存常量
 */
public interface CacheConstant {

    /**
     * 字典信息缓存
     */
    String SYS_DICT_CACHE = "sys:cache:dict";
    /**
     * 表字典信息缓存
     */
    String SYS_DICT_TABLE_CACHE = "sys:cache:dictTable";
    String SYS_DICT_TABLE_BY_KEYS_CACHE = SYS_DICT_TABLE_CACHE + "ByKeys";

    /**
     * 数据权限配置缓存
     */
    String SYS_DATA_PERMISSIONS_CACHE = "sys:cache:permission:datarules";
    /**
     * 字典缓存，返回值类型为SysDictItem
     */
    String SYSDICT_ITEM__CACHE = "sys:cache:SysDictItem";

    /**
     * 缓存用户信息
     */
    String SYS_USERS_CACHE = "sys:cache:user";

    /**
     * 全部部门信息缓存
     */
    String SYS_DEPARTS_CACHE = "sys:cache:depart:alldata";


    /**
     * 全部部门ids缓存
     */
    String SYS_DEPART_IDS_CACHE = "sys:cache:depart:allids";


    /**
     * 测试缓存key
     */
    String TEST_DEMO_CACHE = "test:demo";

    /**
     * 字典信息缓存
     */
    String SYS_DYNAMICDB_CACHE = "sys:cache:dbconnect:dynamic:";

    /**
     * gateway路由缓存
     */
    String GATEWAY_ROUTES = "geteway_routes";


    /**
     * gateway路由 reload key
     */
    String ROUTE_JVM_RELOAD_TOPIC = "gateway_jvm_route_reload_topic";

    /**
     * TODO 冗余代码 待删除
     * 插件商城排行榜
     */
    String PLUGIN_MALL_RANKING = "pluginMall::rankingList";
    /**
     * TODO 冗余代码 待删除
     * 插件商城排行榜
     */
    String PLUGIN_MALL_PAGE_LIST = "pluginMall::queryPageList";
    /**
     * 行政区划信息缓存
     */
    String SYS_AREA_CACHE = "sys:area:dict";
    /**
     * 行政区划树信息缓存
     */
    String SYS_AREA_TREE_CACHE = "sys:area:tree:dict";

    /**
     * 不提醒
     */
    public static final String SCHEDULE_ALERT_NONE = "0";
    /**
     * 开始前
     */
    public static final String SCHEDULE_ALERT_HAPPEN = "1";
    /**
     * 五分钟之前
     */
    public static final String SCHEDULE_ALERT_FIVE_MIN_AGO = "2";
    /**
     * 15分钟前
     */
    public static final String SCHEDULE_ALERT_FIFTEEN_MIN_AGO = "3";
    /**
     * 30分钟前
     */
    public static final String SCHEDULE_ALERT_THIRTY_MIN_AGO = "4";
    /**
     * 1小时前
     */
    public static final String SCHEDULE_ALERT_ONE_HOUR_AGO = "5";
    /**
     * 2小时前
     */
    public static final String SCHEDULE_ALERT_TWO_HOUR_AGO = "6";
    /**
     * 1天前
     */
    public static final String SCHEDULE_ALERT_ONE_DAY_AGO = "7";
    /**
     * 2天前
     */
    public static final String SCHEDULE_ALERT_TWO_DAY_AGO = "8";
    public static final String ROLE_TYPE_OPERATION = "currentOperationDutyRole";
    public static final String ROLE_TYPE_ANKE = "currentAnKeDutyRole";
    /**
     * 不重复
     */
    public static final String SCHEDULE_REPEAT_NEVER = "0";
    /**
     * 每天
     */
    public static final String SCHEDULE_REPEAT_EVERY_DAY = "1";
    /**
     * 每周
     */
    public static final String SCHEDULE_REPEAT_EVERY_WEEK = "2";
    /**
     * 每月
     */
    public static final String SCHEDULE_REPEAT_EVERY_MONTH = "3";
    /**
     * 每年
     */
    public static final String SCHEDULE_REPEAT_EVERY_YEAR = "4";

    String SYS_WS_CACHE = "sys:ws:cache";

    String STREAM_PREFIX = "sys:stream:";

    String CURRENT_KEY = "currentKey";

    String SYS_STREAM_HEARTBEAT = "sys:stream:heartbeat:";

    /**
     * grok信息缓存
     */
    String SYS_GROK_CACHE = "sys:grok:cache";
}
